Spread spectrum communication systems spread transmitted signals over bandwidths much larger than those actually required to transmit the information. The spreading spectrum technologies have been widely used both in military and commercial wireless communication systems such as the Global Positioning System (GPS), IS2000 mobile communication systems, and applications based on the emerging IEEE 802.15.4 standard. There are many advantages of using the spread spectrum approach, and the most important ones are: (1) due to spreading gain, spread spectrum systems are very robust with respect to noise and interferences; (2) multi-path fading has a much less impact to spread spectrum systems; and (3) spread spectrum systems are inherently secure.
In order to utilize the full potential of spread spectrum systems, spreading codes are constructed to have good auto- and cross-correlation properties. This means that one code can effectively differentiate itself from the other codes under noisy conditions. The ideal spreading codes are orthogonal, which means the cross-correlation between two different codes is zero. FIG. 1 shows the cross-correlation properties of the emerging IEEE 802.15.4's spreading codes for the 2.4 GHz band between Code 1 and Codes 1-16. The first point represents the code correlating to Code 1 and its auto-correlation output. The correlation peak (32) appears when Code 1 correlates to itself. The second point represents the code correlating to Code 2 and its cross-correlation output and so on. The cross-correlation property is not as good as the Walsh code used in IS2000 systems but this code set (consists of 16 codes and each code represents four binary digits) allows a simple hardware implementation.
To get spreading gain, a spreading spectrum receiver needs to de-spread (or correlate) the received signal with the spreading codes. A typical implementation of the de-spreading process is shown in FIG. 2. Here, the received signal is processed using the spreading codes to generate the de-spread output with correlation. The de-spread output is then used for bit or symbol decision making or as input for error correction processing.
However, implementation wise, a practical spread spectrum receiver suffers from impairments, including those due to technology limitations and cost considerations. For example, frequency offset is one type of impairment. The frequency offset is the difference between the transmitted carrier frequency and the receiver demodulation frequency. With a spread spectrum receiver, the time span of spreading code determines the maximum allowable frequency offset. The effect of frequency offset is a reduced spreading gain and eventually causes the spread spectrum receiver unable to demodulate when the frequency offset is beyond certain threshold. Quite often, a spread spectrum receiver incorporates an automatic frequency control (AFC) loop to mitigate the effect of the frequency offset. However, an AFC loop needs frequency detection and compensation scheme, which can be expensive to implement. When a spread spectrum system uses a linear modulation scheme, such as Binary Phase Shift Keying (BPSK) and Quadrature Phase Shift Keying (QPSK), the AFC loop-based approach maybe the only effective approach to combat performance degradation due to frequency.
However, when a spread spectrum signal is modulated by a frequency modulation scheme, such as Frequency Modulation (FM), Minimum Shift Keying (MSK), or Gaussian Minimum Shift Keying (GMSK), the unknown constant frequency error or offset becomes a constant offset in the demodulated signal. This property can be utilized to fully realize spread gain without using an AFC Loop. It is desirable to have innovative methods for de-spreading spread spectrum signals to overcome the shortcoming of prior art technologies.